package com.itguigu.principle.singleresponsibility;

/**
 * 优化后的单一职责
 */
public class SingleResponsibility3 {
    public static void main(String[] args) {
        Vehicle2 vehicle2 = new Vehicle2();
        // 根据不同的交通工具调用不同的方法
        vehicle2.runOnAir("波音747");
        vehicle2.runOnWater("辽宁号航母");
        vehicle2.runOnRoad("小汽车");
        vehicle2.runOnRoad("摩托车");
    }
}

/**
 * 运行交通工具的类
 */
class Vehicle2 {
    /**
     * 在公路运行的方法
     *
     * @param vehicle 交通工具
     */
    public void runOnRoad(String vehicle) {
        System.out.println(vehicle + "公路运行");
    }

    /**
     * 在水上运行的方法
     *
     * @param vehicle 交通工具
     */
    public void runOnWater(String vehicle) {
        System.out.println(vehicle + "水上运行");
    }

    /**
     * 在天上运行的方法
     *
     * @param vehicle 交通工具
     */
    public void runOnAir(String vehicle) {
        System.out.println(vehicle + "天上运行");
    }
}
